我有一个4列的csv文件,想创建一个python数组列表,每个csv行都是一个数组。
我可以将每一行作为一个数组,但问题是数组以引号开始和结束。
cvs数据格式:
User Link,Reputation,DisplayName,Location
353410,"47245","John Doe","Uruguay"
927034,"46782","Jane Doe","Bahia Blanca, Argentina"
字符串
这是我试过的代码之一:
with open('Query_SO_Arg.csv', 'rb') as csvfile:
so = csv.reader(csvfile, delimiter=',', quotechar='"')
so_data = []
so.next()
for row in so:
so_data.append(row)
print so_data
型
这是我得到的输出:
[['353410,"47245","John Doe","Uruguay";'], ['927034,"46782","Jane Doe","Bahia Blanca, Argentina";'], ['62024,"41775","Jim Doe","Buenos Aires, Argentina";'],
型
如何在没有外部“”的情况下构建此结构,以便可以使用数据?
谢谢你,谢谢
编辑:
这是一个全新的csv文件的数据(与原始文件的结构相同):
User Link,Reputation,DisplayName,Location
60000,"40000","Diego K","Buenos Aires, Argentina"
240000,"37000","Claudio R","Buenos Aires, Argentina"
型
这是我得到的输出(同样的老问题):
[['60000,"40000","Diego K", "Buenos Aires, Argentina"'], ['240000,"37000","Claudio R","Buenos Aires, Argentina"']]
型
如果我使用以下代码,请编辑2:
so = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in so:
print ', '.join(row)
型
我得到:
User Link, Reputation, DisplayName, Location
60000,"40000","Diego K","Buenos Aires, Argentina"
240000,"37000","Claudio R","Buenos Aires, Argentina"
型
数据似乎还可以,除了没有列表。这是否给出了任何线索,为什么我不能正确地移动到建筑列表?
编辑3:Per@MartijinPieters kind request I am posting the following code:
print repr(open('So_fake_data_test.csv', 'rb').read())
型
其输出:
'User Link,Reputation,DisplayName,Location\r\n"60000,""40000"",""Diego K"",""Buenos Aires, Argentina"""\r\n"240000,""37000"",""Claudio R"",""Buenos Aires, Argentina"""\r\n'
型
感谢@MartijinPieters
编辑4
的数据
希望这能帮上忙。再次感谢你。
3条答案
按热度按时间9jyewag01#
这对我来说很有用(
Python 3.4
):字符串
输出为:
型
5fjcxozz2#
最后我找到了解决办法。
这个神秘的问题与代码或数据本身无关,而是与Excel保存原始下载数据的方式有关。
这就是我在做的:下载包含原始数据的csv文件,在Excel中打开并将其保存为可识别的名称。
这是我找到的解决方案:下载csv文件,转到Windows资源管理器并重命名该文件。
有了这个基本操作和下面的代码,一切都很好:
字符串
感谢您的所有输入,特别是@MartijnPieters!
tzcvj98z3#
在Python 3.11.1中测试
字符串