如何在Python中读取文件的每一行并将每一行存储为列表中的元素?
我想逐行读取文件,并将每行附加到列表的末尾.
我将JSON数据存储在变量中data.
我想将其写入文本文件进行测试,因此我不必每次都从服务器获取数据.
目前,我正在尝试这个:
obj = open('data.txt', 'wb')
obj.write(data)
obj.close
Run Code Online (Sandbox Code Playgroud)
我收到错误:
TypeError: must be string or buffer, not dict
如何解决这个问题?
我在包含xml的数据库中有很多行,我正在尝试编写一个Python脚本,该脚本将遍历这些行并计算特定节点属性的实例数量.例如,我的树看起来像:
<foo>
<bar>
<type foobar="1"/>
<type foobar="2"/>
</bar>
</foo>
Run Code Online (Sandbox Code Playgroud)
如何使用Python访问XML中的属性1和2?
我不知道是否有导入CSV文件的内容为记录阵列直接的方式,很多的方式是R的read.table(),read.delim()和read.csv()家庭的进口数据与R的数据帧?
或者是使用csv.reader()然后应用类似的东西的最佳方法numpy.core.records.fromrecords()?
我查看了Python文档提供的信息,但我仍然有点困惑.有人可以发布编写新文件的示例代码,然后使用pickle将字典转储到其中吗?
我有一个包含大约2000条记录的CSV文件.
每条记录都有一个字符串和一个类别.
This is the first line, Line1
This is the second line, Line2
This is the third line, Line3
Run Code Online (Sandbox Code Playgroud)
我需要将此文件读入一个看起来像这样的列表;
List = [('This is the first line', 'Line1'),
('This is the second line', 'Line2'),
('This is the third line', 'Line3')]
Run Code Online (Sandbox Code Playgroud)
如何将此导入csv到我需要使用Python的列表中?
我正在尝试使用Python列表中的值创建.csv文件.当我打印列表中的值时,它们都是unicode(?),即它们看起来像这样
[u'value 1', u'value 2', ...]
Run Code Online (Sandbox Code Playgroud)
如果我遍历列表中的值,即for v in mylist: print v它们看起来是纯文本.
我可以,在每个之间放一个print ','.join(mylist)
我可以输出到文件,即
myfile = open(...)
print >>myfile, ','.join(mylist)
Run Code Online (Sandbox Code Playgroud)
但是我想输出到CSV并且在列表中的值周围有分隔符,例如
"value 1", "value 2", ...
Run Code Online (Sandbox Code Playgroud)
我找不到一种简单的方法来在格式中包含分隔符,例如我已经尝试了join语句.我怎样才能做到这一点?
什么是我的选择,如果我想在Python中创建简单的XML文件?(图书馆明智)
我想要的xml看起来像:
<root>
<doc>
<field1 name="blah">some value1</field1>
<field2 name="asdfasd">some vlaue2</field2>
</doc>
</root>
Run Code Online (Sandbox Code Playgroud) 我想将数据[1,2,'a','He said "what do you mean?"']转换为csv格式的字符串.
通常人们可以使用csv.writer()它,因为它处理所有疯狂的边缘情况(逗号转义,引用标记转义,CSV方言等).捕获是csv.writer()期望输出到文件对象,而不是字符串.
我目前的解决方案是这个有点hacky函数:
def CSV_String_Writeline(data):
class Dummy_Writer:
def write(self,instring):
self.outstring = instring.strip("\r\n")
dw = Dummy_Writer()
csv_w = csv.writer( dw )
csv_w.writerow(data)
return dw.outstring
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供更优雅的解决方案,仍能很好地处理边缘情况吗?
编辑:这是我最终如何做到这一点:
def csv2string(data):
si = StringIO.StringIO()
cw = csv.writer(si)
cw.writerow(data)
return si.getvalue().strip('\r\n')
Run Code Online (Sandbox Code Playgroud)