小编the*_*men的帖子

使用Python解析CSV /制表符分隔的txt文件

我目前有一个CSV文件,在Excel中打开时,总共有5列.只有A列和C列对我有意义,其余列中的数据无关紧要.

从第8行开始,然后以7的倍数(即第8,15,22,29,36行等)工作,我希望用Python 2.7创建一个包含这些字段信息的字典.列A中的数据将是键(6位整数),列C中的数据是键的相应值.我试图在下面强调这一点,但格式不是最好的: -

    A        B      C          D
1                           CDCDCDCD  
2                           VDDBDDB
3
4
5
6
7  DDEFEEF                   FEFEFEFE
8  123456         JONES
9
10
11
12
13
14
15 293849         SMITH
Run Code Online (Sandbox Code Playgroud)

按照上面的说法,我希望从A7(DDEFEEF)中提取值作为我的字典中的一个键,并将"FEFEFEFE"作为相应的数据,然后在我的字典中添加另一个条目,跳到第15行,其中"2938495"是我的键和"史密斯"是各自的值.

有什么建议?源文件是.txt文件,其中的条目以制表符分隔.谢谢

澄清:

只是为了澄清,到目前为止,我已尝试过以下方面: -

import csv

mydict = {:}
f = open("myfile", 'rt')
reader = csv.reader(f)
    for row in reader:
        print row
Run Code Online (Sandbox Code Playgroud)

以上只是一次打印出所有内容.我确实尝试了"读取器中的行(7)",但这返回了一个错误.然后我研究了它并在下面进行了一次但是它既不起作用:

import csv
from itertools import islice

entries = csv.reader(open("myfile", 'rb'))
mydict = {'key' : 'value'}

for i in xrange(6):
    mydict['i(0)] = 'I(2)    # integers representing …
Run Code Online (Sandbox Code Playgroud)

python csv parsing dictionary

23
推荐指数
2
解决办法
8万
查看次数

使用C#连接到SQL Server 2012数据库(Visual Studio 2012)

晚上好,

我正在尝试从C#连接到SQL Server 2012数据库.使用SQL Server Management Studio时的连接设置如下: -

Server Type:    Database Engine
Server Name:    Paul-PC\SQLEXPRESS
Authentication: Windows Authentication
Username:   Greyed out
Password:   Greyed out 
Run Code Online (Sandbox Code Playgroud)

我正在尝试连接的数据库的名称是"testDB".

这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace DatabaseConnection
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            SqlConnection myConnection = new SqlConnection("server=localhost;" +
                                       "Trusted_Connection=yes;" +
                                       "database=testDB; " +
                                       "connection …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

10
推荐指数
2
解决办法
16万
查看次数

用于.NET 4.0框架的EXIF库

我已经搜索了这个主题,但我能找到的唯一合适的主题是2008年,因此我的新问题.

我正在寻找使用C#.Net 4.0语言开发程序.我的程序的目的是从jpegs(制造商,模型,地理位置信息等)中提取EXIF信息,然后将其填充到MySql/Sql服务器数据库中.

任何人都可以推荐任何适合这个项目的好库吗?我也在寻找相机序列号(我知道这在制造商之间有所不同),但是如果有人知道任何现有的库来解决这个问题,那将是最有帮助的.

谢谢,享受周末

.net c# exif

7
推荐指数
3
解决办法
2万
查看次数

在第二个函数(Python)中写入文件打开

我目前在我的代码中有以下功能: -

def openFiles():
    file1 = open('file1.txt', 'w')
    file2 = open('file2.txt', 'w')
Run Code Online (Sandbox Code Playgroud)

我现在希望做的是,第二种方法是写入打开的文件.但是,每当我尝试使用例如"file1.write("hello")"写入文件时,都会返回错误通知我"global variable 'file1' is not defined".我已经尝试在代码的开头将'file1'声明为字符串,但显然,因为它不是字符串而是对象,所以我不确定如何写入它.

有什么建议?我想要一些函数来访问文件,因此我想要一个单独的函数来打开它们.

谢谢

编辑代表一个班级

class TestClass:
    def openFiles():
        file1 = open('file1.txt', 'w')
        file2 = open('file2.txt', 'w')

    def write_to_files():
        ????????
Run Code Online (Sandbox Code Playgroud)

python function

6
推荐指数
1
解决办法
2万
查看次数

从元组中提取信息(Python)

我目前正在使用Python 2.7中的httplib库从网站获取一些标题,以建立a)下载的文件大小和b)文件的最后修改日期.我使用了一些在线工具,这些细节确实存在.

我目前正在编写我的Python代码脚本,它似乎正常工作,可以恢复所需的信息.尽管如此,包含标题信息的响应是包含多个元组的列表.答复的样本如下: -

[('content-length', '2501479'),
 ('accept-ranges', 'bytes'),
 ('vary', 'Accept-Encoding'),
 ('server', 'off'),
 ('last-modified', 'Thu, 20 Oct 2011 04:30:01 GMT'),
 ('etag', '"2c8171a-262b67-4afb368edfffc"'),
 ('date', 'Thu, 20 Oct 2011 16:01:11 GMT'),
 ('content-type', 'text/plain')]
Run Code Online (Sandbox Code Playgroud)

我要做的是基本上删除文件大小("2501479")和日期("星期四,2011年10月20日04:30:01 GMT").我有什么想法可以做到这一点?我最初尝试variable[0]但是这会回来"'content-length', '2501479'".我怎样才能单独返回文件大小(理论上是列表中第一个元组的第二部分!).

python parsing tuples list http-headers

5
推荐指数
1
解决办法
1万
查看次数

Python命令行参数(Windows)

我正在运行32位Windows 7和Python 2.7.

我正在尝试编写一个可以从CMD运行的命令行Python脚本.我正在尝试为sys.argv [1]分配一个值.我的脚本的目的是计算文件的MD5哈希值.在命令行中调用脚本时将输入此文件,因此,sys.argv [1]应表示要进行哈希处理的文件.

这是我的代码如下:

import sys
import hashlib

filename = sys.argv[1]

def md5Checksum(filePath):
    fh = open(filePath, 'rb')
    m = hashlib.md5()
    while True:
        data = fh.read(8192)
        if not data:
            break
        m.update(data)
    return m.hexdigest()

# print len(sys.argv)
print 'The MD5 checksum of text.txt is', md5Checksum(filename)
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,我收到一个错误:

filename = sys.argv[1]
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

为了调用我的脚本,我一直在编写"script.py test.txt".脚本和源文件都在同一目录中.我测试了len(sys.argv),它只返回包含一个值,即python脚本名称.

有什么建议?我只能假设我是通过CMD调用代码的

python command-line cmd

5
推荐指数
2
解决办法
1万
查看次数

用于解析文本文件中信息的 Windows 命令行

我有一个文本文件,其中包含以 'Password:' 开头的行等信息。我想要做的是运行命令行命令(如果可能)来解析 .txt 文件以提取“密码:”后面的所有术语,并将它们放入一个仅列出密码的新文本文件中。单词“密码:”和实际密码之间的空格数在条目中有所不同。

我到目前为止使用过:

FINDSTR /L "Password: " input_file.txt > output_file.txt
Run Code Online (Sandbox Code Playgroud)

这很有效,但也会提取术语“密码:”。从我进行的研究来看,我不相信命令行有一个内置函数来从 .txt 文件中删除字符串,因为我的想法是运行上面的命令,然后是类似的东西:-

FINDSTR /L "Password: " input_file.txt > output_file.txt & DELSTR "Password: " output_file.txt > final_file.txt & DEL output_file.txt
Run Code Online (Sandbox Code Playgroud)

显然我已经发明了“DELSTR”,但如上所述,我需要一些东西来从每一行中删除字符串“密码:”。

有什么建议?谢谢

cmd batch-file

4
推荐指数
1
解决办法
7275
查看次数

使用 MacOS 终端从 .tar.xz 存档中提取具有文件扩展名的特定文件

我有许多扩展名为.tar.xz的压缩档案。据我所知,解压后所需的总大小约为 2TB。

档案中有许多我想要的图像。

有没有一种方法可以从压缩档案中单独提取扩展名为.jpeg、.jpeg.gif的文件,而不必提取每个文件?

谢谢

macos terminal tar

4
推荐指数
1
解决办法
2451
查看次数

使用JSON和字典在Python中进行错误处理

我目前有一个Python 2.7脚本,可以抓取Facebook并从每个页面捕获一些JSON数据.JSON数据包含个人信息.下面是JSON数据的示例: -

{
   "id": "4",
   "name": "Mark Zuckerberg",
   "first_name": "Mark",
   "last_name": "Zuckerberg",
   "link": "http://www.facebook.com/zuck",
   "username": "zuck",
   "gender": "male",
   "locale": "en_US"
}
Run Code Online (Sandbox Code Playgroud)

JSON值可能因页面而异.以上示例列出了所有可能的内容,但有时候,"username"等值可能不存在,我可能会遇到JSON数据,例如: -

{
   "id": "6",
   "name": "Billy Smith",
   "first_name": "Billy",
   "last_name": "Smith",
   "gender": "male",
   "locale": "en_US"
}
Run Code Online (Sandbox Code Playgroud)

有了这些数据,我想填充一个数据库表.因此,我的代码如下: -

results_json = simplejson.loads(scraperwiki.scrape(profile_url))
        for result in results_json:
            profile = dict()
            try:
                profile['id'] = int(results_json['id'])
            except:
                profile['id'] = ""
            try:
                profile['name'] = results_json['name']
            except:
                profile['name'] = ""
            try:
                profile['first_name'] = results_json['first_name']
            except:
                profile['first_name'] = ""
            try:
                profile['last_name'] = results_json['last_name']
            except: …
Run Code Online (Sandbox Code Playgroud)

python json dictionary python-2.7

3
推荐指数
1
解决办法
2647
查看次数

C#GUI中的简单函数调用

我是C#的新手.我在表单和按钮中有两个文本框.当我单击按钮时,我希望将值1放入textbox1,然后计算squareroot并将其放入textbox2.然后,我希望代码循环播放1-20之间的每个数字,并将相应的值放在文本框中.我只是编写这段代码只是为了习惯函数调用.我的代码如下,但似乎没有做任何事情: -

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            for (int initialVal = 1; initialVal >= 20; initialVal++)
            {
                textBox1.Text = initialVal.ToString();
                int sum = calculation(initialVal);
                textBox2.Text = sum.ToString();
                System.Threading.Thread.Sleep(500);
            }
        }

        static int calculation(int x)
        {
            int sum;
            while (x <= 20)
            {
                sum …
Run Code Online (Sandbox Code Playgroud)

c# function

2
推荐指数
1
解决办法
821
查看次数

在Python 3.x中递归搜索特定的文件名

我目前正在使用Python 3.x. 我希望递归搜索目录中的两个特定文件名.我知道这两个文件名中的每一个都存在于某些目录中.如果其中一个文件存在,则另一个文件存在.一旦文件被识别出来,我就想把它们提取到一个列表中但不知何故将它们链接起来以便以后我可以一起处理它们,因为我想从两个文件中的每一个中提取数据并分析这些数据然后,做相同但是对于来自不同目录的相同文件,如果这是有意义的.因此,例如,在C:\ DesktopC:\ MyDocuments中,每个目录将包含我要识别的两个文件名(manifest.plist和info.plist)

到目前为止,我有以下搜索基于文件扩展名而不是文件名: -

def find(pattern, path):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))

if __name__=='__main__':
    find("*.plist", test_path)
Run Code Online (Sandbox Code Playgroud)

确切的文件名是manifest.plistinfo.plist.

上面的方法运行良好,但它需要一个年龄,因为它通过每个目录中的数千个文件.

有没有办法根据特定的名称快速查找文件,同样,我如何最好地链接列表中每个目录的两个文件?我正在考虑使result []列表包含元组,每个元组包含相应info.plistmanifest.plist的路径

谢谢大家

python python-3.x

2
推荐指数
1
解决办法
242
查看次数

在Python中拆分字符串(2.7)

我有一个如下所示的字符串:

26   (passengers:22  crew:4)
Run Code Online (Sandbox Code Playgroud)

要么

32   (passengers:?  crew: ?)
Run Code Online (Sandbox Code Playgroud)

.我要做的是拆分代码,以便只提取代表乘客和机组人数的数字.如果是问号,我会将其替换为"".

我知道我可以使用string.replace("?","")替换?但是我该如何分别为船员或乘客提取数字字符呢?数字可能会从两位数变为三位,因此我无法将字符串中的最后几个字符或特定间隔切片.

提前致谢

python regex string python-2.7

1
推荐指数
1
解决办法
127
查看次数

行中的字符串长度(Python)

我目前正在尝试将.txt文件导入某些专有软件,但似乎不断收到错误..txt文件大小近2GB,大约有5600万行.

在与制造商交谈后,他们表示其中一条线路可能存在错误.每行应包含一个MD5哈希值(32个字符),因此,使用Python v2.7,我希望扫描处理.txt文件以检查每行的长度并打印'违规'行的值.

这是我尝试过的: -

f = open("x.txt")
contents = f.readlines()
f.close()
for line in contents:
    if line(len) == 32:
        continue
    else:
        print line
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试这段代码时收到错误: -

File "<pyshell#30>", line 2, in <module>
  if line(len) == 32:
TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

所以我尝试了以下相信我必须将'line'转换为整数: -

for line in contents:
    if int(line)(len) == 32:
        continue
    else:
        print line
Run Code Online (Sandbox Code Playgroud)

但这只是带来了错误: -

ValueError: invalid literal for int() with base 10: '000000000000000012452154365298BD"
Run Code Online (Sandbox Code Playgroud)

如上所述,我要做的是读取.txt文件的每一行,如果它不是有效的MD5哈希值,则将值打印到屏幕甚至删除该值.

非常感谢

[编辑]原来这是一个小学生的错误.谢谢大家

python md5

-1
推荐指数
2
解决办法
2万
查看次数