Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将此数据格式化为csv友好格式_Python_Excel_Csv_Formatting_Analytics - Fatal编程技术网

如何在python中将此数据格式化为csv友好格式

如何在python中将此数据格式化为csv友好格式,python,excel,csv,formatting,analytics,Python,Excel,Csv,Formatting,Analytics,相对简单的问题,我有这个市场数据 形式为[['data',high,open,low,close,volume等],[data',high,open,low,close,volume等]] 但是,当将.txt文件保存为.csv并加载到excel时,它会将所有数据放在第一行 我可以使用什么python代码来获取[数据],[数据]并适当地保存它,我的印象是,因为[数据],[数据]用逗号分隔,它本来可以与excel兼容,但我错了 感谢您的帮助 关于清理这样的东西才是外壳的用途 sed 's/\]\,\

相对简单的问题,我有这个市场数据

形式为[['data',high,open,low,close,volume等],[data',high,open,low,close,volume等]]

但是,当将.txt文件保存为.csv并加载到excel时,它会将所有数据放在第一行

我可以使用什么python代码来获取[数据],[数据]并适当地保存它,我的印象是,因为[数据],[数据]用逗号分隔,它本来可以与excel兼容,但我错了

感谢您的帮助


关于

清理这样的东西才是外壳的用途

sed 's/\]\,\[/\n/g' HmiMbux5.txt | tr -d "[]" >  HmiMbux5.csv

在你可能不想看到的一端还钉着一个零散的“min to Spreed”

这里有一个脚本,它读取文件,并将其写入磁盘上的另一个文件。 仅此一次使用正确的CSV格式。我试图在代码中解释我的步骤,所以我希望它是清楚的

file = open("HmiMbux5.txt", "r")
data = file.readlines()[0] # this is still raw data.
file.close()

#now we need to purge the first and the last bracket.
index_lastbr = data.rfind("]")
intermediate_data = data[1:index_lastbr] # here I remove the encapsulating ->[<- and ->]<-
data_list_unformatted = intermediate_data.split("],[")

for index in range(len(data_list_unformatted)):
    item = data_list_unformatted[index]
    if "[" in item:
        data_list_unformatted[index] = item[1:]
    elif "]" in item:
        data_list_unformatted[index] = item[:-1]
# the data is now ["'data',high, open, low, close, volume, etc","'data',high, open, low, close, volume, etc" ]

splitted_list = [] # this becomes a list of lists where every 'column' is a separate string
for item in data_list_unformatted:
    splitted_list.append(item.split(","))

# so instead of ["'data',high, open, low, close, volume, etc","'data',high, open, low, close, volume, etc"]
# it is now [["'data'","high", "open", "low", "close", "volume", "etc"],["'data'","high", "open", "low", "close", "volume", "etc"]]

newfile = open("corrected_data.csv", "w") # here we start writing it to a file

newfile.write('"data";high;open;low;close;volume;etc;\n')

for listitem in splitted_list:
    for item in listitem:
        newfile.write(item + ";")
    newfile.write("\n")

newfile.close()
file=open(“HmiMbux5.txt”、“r”)
data=file.readlines()[0]#这仍然是原始数据。
file.close()文件
#现在我们需要清除第一个和最后一个括号。
索引\u lastbr=data.rfind(“]”)

中间数据=数据[1:index\u lastbr]#这里我移除封装->[]嘿,非常感谢您的回复!我忘了提到我在用python编程,你的答案是用什么语言写的?shell并不总是被认为是一种语言,它是你在文件系统中移动并调用程序的地方。如果你不知道它是什么,你可以点击图片为你执行shell命令。如果你使用的是unix衍生产品,如Mac或Linux,只需打开一个终端窗口并开始键入,我很乐意提供帮助。在MS上,您必须翻译成我听说已经非常有能力的版本,或者安装一个*nix类似的工作,例如@tomc。您可以随时使用类似的东西,在windows cmd中为您提供Unix终端的命令。谢谢您,先生。老实说,我希望代码更短,这不是问题,只是很有趣。再次感谢您的代码只是将每一行放在一个单元格中,它应该用逗号分隔。。。。我试过了,当我打开这个文件时,我得到了。。。(这是生成的新文件)